Skip to content

test: enable test_action_menu_window with fixtures#8

Open
Mearman wants to merge 23 commits intomainfrom
fix/test-action-menu
Open

test: enable test_action_menu_window with fixtures#8
Mearman wants to merge 23 commits intomainfrom
fix/test-action-menu

Conversation

@Mearman
Copy link
Copy Markdown
Owner

@Mearman Mearman commented Mar 10, 2026

Enable test_action_menu_window with platform-specific test fixtures.

Added platform-specific fixtures for Linux CI rendering compatibility.

Co-authored-by: Claude claude@anthropic.com

jplexer and others added 22 commits March 9, 2026 17:39
Move agent guidelines content into AGENTS.md as the canonical file and
make .claude/CLAUDE.md a symlink to it, since the content is not
Claude-specific.

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Joshua Jun <joshuajun@proton.me>
When airplane mode is toggled off, bt_pairability_init() is called after
the BLE advertising infrastructure has been fully torn down and rebuilt.
However, the cached s_last_ble_discoverable_state was not being reset,
causing evaluate_pairing_refcount() to skip calling
gap_le_slave_set_discoverable(true) since it believed discovery
advertising was already active. This left an unpaired watch invisible
to phones attempting to pair.

Reset s_last_ble_discoverable_state to false in bt_pairability_init() so
the next evaluation unconditionally re-drives discoverable advertising
when needed.

Fixes FIRM-1283

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Joshua Jun <joshuajun@proton.me>
Fixes FIRM-1275

Signed-off-by: Joshua Jun <joshuajun@proton.me>
Signed-off-by: Joshua Jun <joshuajun@proton.me>
Add repository check to S3 upload steps in:
- build-firmware.yml
- build-prf.yml
- release.yml

The S3 upload now only runs when in coredevices/PebbleOS, not in
forks. This prevents "access-key-id required" errors in fork
workflows without using continue-on-error.

Fixes workflow failures in forks due to missing AWS credentials.

Co-authored-by: Claude <noreply@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This is currently not used.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
- When excellent samples are reported, turn off faster (5)
- When good samples are reported, turn off faster (10)

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Remove it from drivers as well.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This is not needed on main firmware, and, it is actually buggy (WTF, app
timer here!). Also, stop is never called, so a 10ms periodic timer can
be left on. This is just a workaround for this whole brain damaged
implementation.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
Require commit messages to use path-based areas (e.g., fw/drivers/hrm)
or known short areas (e.g., ci, docs, treewide) rather than conventional
commit types like feat:, fix:, chore:.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Append -darwin suffix to fixture filenames on macOS to handle rendering
differences in font libraries. Linux (CI) uses standard ~platform naming
to match existing fixtures.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Use memcpy for BD_ADDR_t address fields instead of direct assignment,
which was causing incorrect address comparisons in whitelist operations.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Add run-tests-docker.sh to run tests in Docker matching CI environment,
and generate-linux-fixtures.sh to generate Linux-specific test fixtures.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Document the cross-platform fixture naming scheme, Docker testing
workflow, and troubleshooting for CI vs local test discrepancies.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Restore platform suffix on Linux (e.g. ~spalding) while keeping the
additional -darwin suffix for macOS local development. This matches
the naming convention of the PNG fixture files in the repository.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Replace sh.pip('freeze') with subprocess.check_output(['pip', 'freeze'])
to avoid OverflowError with sh library on Python 3.14+.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Replace sh.rm with subprocess.run to avoid Python 3.14 compatibility
issues with the sh library.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Remove test_action_menu_window.c from the exclusion list to enable
the test.

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
- Fix include path from settings_notifications_private.h to
  notifications_private.h
- Add stubs_vibes.h include to resolve linker errors

Co-authored-by: Claude <claude@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
@Mearman Mearman force-pushed the fix/test-action-menu branch from e4fffc7 to 0df318e Compare March 10, 2026 16:43
838 test fixture images had incorrectly escaped tildes in their
filenames (e.g., '\~silk.png' instead of '~silk.png'). This caused
tests to fail because the PBI conversion and test lookup logic
expected the correct platform suffix format.

Co-authored-by: Claude <noreply@anthropic.com>

Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants